+2005-03-29 Matthias Clasen <mclasen@redhat.com>
+
+ * io-tga.c (parse_rle_data): Fix the update areas for incremental
+ loading of compressed tgas. (#171883, David Costanzo)
+
2005-03-27 Matthias Clasen <mclasen@redhat.com>
* io-bmp.c (DoCompressed): Use the correct update regions for
/*
* Some NOTES about the TGA loader (2001/06/07, nikke@swlibero.org)
*
- * - The module doesn't currently provide support for TGA images where the
- * order of the pixels isn't left-to-right and top-to-bottom. I plan to
- * add support for those files as soon as I get one of them. I haven't
- * run into one yet. (And I don't seem to be able to create it with GIMP.)
- *
* - The TGAFooter isn't present in all TGA files. In fact, there's an older
* format specification, still in use, which doesn't cover the TGAFooter.
* Actually, most TGA files I have are of the older type. Anyway I put the
static gboolean parse_rle_data(TGAContext *ctx, GError **err)
{
+ guint rows = 0;
guint count = 0;
guint pbuf_count = 0;
guint bytes_done_before = ctx->pbuf_bytes_done;
*/
if (!(ctx->hdr->flags & TGA_ORIGIN_UPPER))
pixbuf_flip_vertically (ctx->pbuf);
- }
+ }
+
+ rows = ctx->pbuf_bytes_done / ctx->pbuf->rowstride - bytes_done_before / ctx->pbuf->rowstride;
if (ctx->ufunc)
- (*ctx->ufunc) (ctx->pbuf, 0, ctx->pbuf_bytes_done / ctx->pbuf->rowstride,
- ctx->pbuf->width, pbuf_count / ctx->pbuf->rowstride,
+ (*ctx->ufunc) (ctx->pbuf, 0, bytes_done_before / ctx->pbuf->rowstride,
+ ctx->pbuf->width, rows,
ctx->udata);
-
return TRUE;
}